Servlet 和 JSP 教程
1. 概述
1.1 什么是 Servlet?
Servlet 是 Java 编写的服务器端程序,用于处理客户端请求并生成动态内容。Servlet 运行在 Web 服务器上,通常与 HTTP 协议一起使用。
1.2 什么是 JSP?
JSP(JavaServer Pages)是一种用于创建动态 Web 内容的 Java 技术。JSP 页面在服务器端被编译成 Servlet,然后执行。
2. 环境设置
2.1 安装 Tomcat
Tomcat 是一个开源的 Web 容器,支持 Servlet 和 JSP。你可以从 Apache Tomcat 官网 下载并安装。
2.2 配置环境变量
确保你的 JAVA_HOME 和 CATALINA_HOME 环境变量已正确配置。
3. 第一个 Servlet 程序
3.1 创建 Servlet 类
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Hello, Servlet!</h1>");
}
}
3.2 部署和运行
- 将编译后的
.class文件放入WEB-INF/classes目录。 - 启动 Tomcat 服务器。
- 访问
http://localhost:8080/yourapp/HelloServlet。
4. 第一个 JSP 页面
4.1 创建 JSP 文件
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Hello JSP</title>
</head>
<body>
<h1>Hello, JSP!</h1>
</body>
</html>
4.2 部署和运行
- 将 JSP 文件放入 Web 应用的根目录。
- 启动 Tomcat 服务器。
- 访问
http://localhost:8080/yourapp/hello.jsp。
5. Servlet 生命周期
5.1 生命周期方法
init(): 初始化 Servlet。service(): 处理客户端请求。destroy(): 销毁 Servlet。
5.2 示例代码
public class LifeCycleServlet extends HttpServlet {
public void init() {
System.out.println("Servlet initialized.");
}
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("Service method called.");
}
public void destroy() {
System.out.println("Servlet destroyed.");
}
}
6. JSP 内置对象
6.1 常用内置对象
request: 客户端请求信息。response: 服务器响应信息。out: 输出流。session: 会话信息。application: 应用上下文。
6.2 示例代码
<%
String user = request.getParameter("user");
out.println("Hello, " + user);
session.setAttribute("user", user);
%>
7. 实践练习
7.1 练习 1: 创建一个简单的登录页面
- 创建一个 JSP 页面用于输入用户名和密码。
- 创建一个 Servlet 处理登录请求,验证用户名和密码。
- 如果验证成功,重定向到欢迎页面;否则,显示错误信息。
7.2 练习 2: 实现一个简单的购物车
- 创建一个 JSP 页面显示商品列表。
- 创建一个 Servlet 处理添加商品到购物车的请求。
- 使用
session对象存储购物车信息。
8. 总结
通过本教程,你已经学习了 Servlet 和 JSP 的基本概念、生命周期、内置对象以及如何创建简单的 Web 应用。继续深入学习,你将能够构建更复杂的 Web 应用。
9. 参考资料
希望这篇教程对你有所帮助,祝你在 Servlet 和 JSP 的学习中取得进步!